-- stack: in -- format: 8 (HyperCard 1) -- flags: 0x1000 (none) -- protect password hash: 402488951 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 8 -- first background id: 2585 -- card count: 28 -- first card id: 6353 -- list block id: 4562 -- print block id: 10182 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 480992 bytes -- stack block size: 7680 bytes -- created by hypercard version: 0x01228000 -- compacted by hypercard version: 0x01228000 -- modified by hypercard version: 0x01228000 -- opened by hypercard version: 0x01228000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8A552255A8552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0x55AA55AA55AA55AA -- patterns[22]: 0x4010040140100401 -- patterns[23]: 0x0618608106186081 -- patterns[24]: 0x00FF00FF00FF00FF -- patterns[25]: 0x2A00AA00AA00AA00 -- patterns[26]: 0xAA44AA11AA44AA11 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0x55FF55FF55FF55FF -- patterns[30]: 0x729C27C9729C27C9 -- patterns[31]: 0x73DC37CD73DC37CD -- patterns[32]: 0x6018068160180681 -- patterns[33]: 0x0208208002082080 -- patterns[34]: 0x2A00AA00A200AA00 -- patterns[35]: 0x2200AA002200AA00 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xAA40AA00AA04AA00 -- patterns[38]: 0xAA44AA10AA44AA00 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• --≥ --≥ --≥ --≥ © 1990, Apple Computer, Inc. --≥ --≥ Macintosh Networking Guide --≥ Interface for connectivity solutions. --≥ 4/12/90 --≥ --∆ J.W. Swartz --∆ TBD Consulting Group --∆ (415) 462-6983 --∆ --∆ based on the seminal work of; --• --• Jonathan Gibson and Ted Tripp --• Jennie Gale First Ammendment Computing --• Form & Function 408 458-5293 --• 415*664-4010 --• --∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆∆ --∆ --∆ --∆ --∆ on domenu menu --// Added by Medior, Inc. 4/16/90 global RPStackName if menu is in "Home,Quit HyperCard" and RPStackName is not empty then set cursor to watch put RPStackName into shortname repeat until offset(":",shortname) = 0 delete char 1 to offset(":",shortname) of shortname end repeat delete last char of shortname answer "This will return to "&shortname&"." with "Cancel" or "OK" if it is "Cancel" then exit domenu set cursor to watch lock screen go RPStackName unlock screen with dissolve exit domenu else pass doMenu end domenu on openstack Global ButtonSND,ClickSND,place,startFlag,default set lockscreen to true put "MouseClick 1" into ButtonSND put "DigiClick" into ClickSND put "Lobby" into place put "Yes" into startFlag put "Info Management" into default hide message hide menuBar titleBar hide put the long time into newTime convert newTime to seconds put cd fld "Old Time" of cd lobby into oldTime put newTime into cd fld "New time" of cd lobby --∆ If longer than 9 hours, warn about B&W if newTime > (oldTime + 32400) then put true into tidyUpNow if the loc of card window is not "0,0" then answer "Make sure your monitor is set to B&W." end if put newTime into cd fld "Old Time" of cd lobby else put newTime into cd fld "Old Time" of cd lobby end if changeCurs 69 --∆ change cursor to target unlock screen with dissolve end openstack on closeStack get the freesize of this stack if it > 100000 then doMenu "Compact Stack" titleBar show end closeStack on startup Global ButtonSND,ClickSND,place getHomeInfo pass startUp -- to a startUp XCMD, if present --• for opening sequence, JON end startup function SelectionAndHiliter --∆ To get the number of a line clicked in a field and then highlight --∆ the selected line, needs a button named the same as the field --∆ name with "hiliter" appended. --∆ First, check if the field is a scrolling field get the style of the target if it is "scrolling" then put the scroll of the target into scrollLocation else put "0" into scrollLocation end if --∆ Next, get the vertical location of the field and adjust --∆ for wideMargins (causes all lines to drop 4 pixels) put item 2 of rect of target into verticalLocation get wideMargins of the target if it is true then add 4 to verticalLocation --∆ Compute the line number get item 2 of the clickloc - verticalLocation + ScrollLocation put 1 + it div the textHeight of target into lineNumber --∆ Now, get the name of the hiliter button get the short name of the target put it into FieldName --∆ Calculate where to place hilite button put 1 + (verticalLocation + lineNumber * textHeight of target - ScrollLocation) - textHeight of target div 2 into adjustedVerticalLoc show cd button (FieldName & "hiliter") at item 1 of loc of cd button (FieldName & "hiliter"),adjustedVerticalLoc --∆ return the line number to calling handler return lineNumber end SelectionAndHiliter Function theChar x global right, left, ts, margin put empty into chnum put right-left into temp put (temp div TS) into int put left+margin into range1 put range1 + TS into range2 repeat with z=1 to int if x >= range1 and x< range2 then put z into chnum return(chnum) exit repeat else put range2 into range1 put range1 + TS into range2 end if end repeat end theChar on theChoice fName, x, y, lnum, chnum, choice put theLine(fName,y) into lnum put theChar(x) into chnum if chnum is empty then exit theChoice else put character chnum of line Lnum of field fname into Choice end if end theChoice on ElevatorAction --∆ lobby is floor 0, --∆ foundation is floor 1, network services is 2, app is 3. global floor,nextFloor,currentFloor,lastFloor put character 1 of nextFloor into floorDestination --∆ Fix the line numbers and then floor #s so loops to work sanely if floorDestination is 3 then put 1 into adjDestination else if floorDestination is 2 then put 2 into adjDestination else if floorDestination is 1 then put 3 into adjDestination else put 4 into adjDestination end if end if end if if floor is 3 then put 1 into adjFloor else if floor is 2 then put 2 into adjFloor else if floor is 1 then put 3 into adjFloor else put 4 into adjFloor end if end if end if --∆ Going up… if floor < floorDestination then repeat with x = adjFloor down to adjDestination put currentFloor into lastFloor put line x of cd fld "Destination" into currentFloor set the highlite of cd button lastFloor to false if x = adjFloor then else set lockscreen to true play "22" unlock screen with wipe down end if put currentFloor into cd fld "currentFloor" set the highlite of cd button currentFloor to true wait 30 end repeat put floorDestination into floor end if --∆ Going down… if floor > floorDestination then repeat with y = adjFloor to adjDestination put currentFloor into lastFloor put line y of cd fld "Destination" into currentfloor set the highlite of cd button lastFloor to false if y = adjFloor then else set lockscreen to true play "22" unlock screen with wipe up end if put currentFloor into cd field "currentFloor" set the highlite of cd button currentFloor to true wait 30 end repeat put floorDestination into floor end if end ElevatorAction